package com.psp.web.service;

import java.util.List;

import com.psp.web.controller.res.bean.RAttributeBean;
import com.psp.web.controller.res.bean.RBusinessCommentsBean;
import com.psp.web.controller.res.bean.RBusinessDetailBean;
import com.psp.web.controller.res.bean.RProductListBean;
import com.psp.web.controller.res.bean.RProductSkuBean;
import com.psp.web.controller.res.bean.RServicesMenusBean;
import com.psp.web.controller.res.bean.RServicesTypeBean;
import com.psp.web.controller.res.bean.RSimilarProductBean;
import com.psp.web.service.impl.PageResult;

public interface ProductService {

	/**
	 * 获取服务类型
	 * 
	 * @return
	 */
	RServicesTypeBean getServiceTypes();

	/**
	 * 获取服务信息列表
	 * 
	 * @param firstType
	 *            业务类型
	 * @param secType
	 *            二级分类
	 * @param page
	 *            请求页 从0开始
	 * @param pageSize
	 *            也大小
	 * @return
	 */
	PageResult<RProductListBean> getLists(Integer page, Integer pageSize, Integer firstType, Integer secType);

	/**
	 * 获取详情
	 * 
	 * @param sid
	 * @return
	 */
	RBusinessDetailBean getDetail(String bid);

	/**
	 * 服务的评价信息列表
	 * 
	 * @param page
	 *            请求当前页数
	 * @param pageSize
	 *            当前请求页大小
	 * @param sid
	 *            服务id
	 * @return
	 */
	PageResult<RBusinessCommentsBean> getComments(int page, int pageSize, String pid);

	/**
	 * 获取相关服务
	 * 
	 * @return
	 */
	RSimilarProductBean getSimilarBs(String pid);

	/**
	 * 获取服务菜单
	 * 
	 * @return
	 */
	RServicesMenusBean getServiceMenus();

	/**
	 * 获取所以属性
	 * 
	 * @param pid
	 * @return
	 */
	List<RAttributeBean> getAttributes(String pid);

	/**
	 * 获取sku对应商品价格及库存
	 * 
	 * @param skuCode
	 * @return
	 */
	RProductSkuBean getProductInfoBySkuno(String skuCode);

}
